#version 450 core
layout(location = 0) in vec3 inPos;
struct Scene {
    mat4 viewProjectionMatrix;
    vec3 cameraDir;
    vec3 cameraPos;
};
layout(binding = 0, std140) uniform SceneBlock {
    Scene scene;
};
struct Transform {
    mat4 modelMatrix;
    mat4 normalMatrix;
};
layout(binding = 1, std140) uniform TransformBlock {
    Transform transform;
};
void main() {
    const mat4 worldMatrix = scene.viewProjectionMatrix * transform.modelMatrix;
    gl_Position = worldMatrix * vec4(inPos, 1.0f);
}
